
指令的起源
你可能见过各种整蛊村民的玩法,比如把村民关进笼子用命名牌改名字,但“村民吃僵尸”这个指令组合绝对算得上冷门又猎奇,我第一次接触这个指令是在一个国外玩家制作的迷你游戏服务器里,当时看到村民头顶冒出咀嚼粒子然后僵尸凭空消失,我愣了好几秒才反应过来那是命令方块搞的鬼,后来自己研究了一下发现其实原理并不复杂,但需要一点点红石和记分板知识才能完美实现。
实现原理
首先要明白原版游戏中村民和僵尸是敌对关系,村民会逃跑而僵尸会追击,但“吃”这个动作并不存在,所以我们需要用指令伪造一个吞咽效果,核心思路是让村民在接触僵尸时触发一个检测,然后执行一系列指令将僵尸移除并给村民一个瞬间治疗或力量效果,同时播放吃东西的音效和粒子,游戏里没有现成的“咀嚼”粒子,但我们可以用“villager_angry”粒子代替,或者用经验球围绕村民旋转,视觉上看起来就像在进食一样,最关键的一步是用“/execute as @e[type=minecraft:villager] at @s run tp @e[type=minecraft:zombie,distance=..2] ~ ~ ~”这种定位来锁定附近的僵尸,然后执行“/kill @e[type=minecraft:zombie,distance=..2]”并同时给对应村民“/effect give @s minecraft:instant_health 1 2”再加上“/playsound minecraft:entity.generic.eat @a”就好了。
具体搭建步骤
你需要至少三个命令方块,第一个命令方块设为循环无条件保持开启,输入“/execute as @e[type=minecraft:villager] at @s if entity @e[type=minecraft:zombie,distance=..2] run tag @s add eating”,这个指令用来给靠近僵尸两格以内的村民打上一个“eating”标签,第二个命令方块设为连锁有条件保持开启,输入“/execute as @e[tag=eating] at @s run kill @e[type=minecraft:zombie,distance=..2]”,注意这里杀死的只是距离村民两格内的僵尸,不会误伤远处的,第三个命令方块设为连锁有条件保持开启,输入“/execute as @e[tag=eating] at @s run effect give @s minecraft:instant_health 1 255”,因为瞬间治疗配合高等级可以让村民满血,同时你还可以加一个“/execute as @e[tag=eating] at @s run playsound minecraft:entity.generic.eat @a ~ ~ ~ 1 1”,最后别忘了一秒后移除标签,否则村民会一直处于进食状态,可以用一个延迟循环命令方块每刻清除标签,或者用记分板计时,简单点的话就加第四个命令方块“/tag @e[tag=eating] remove eating”,放在第三个之后并且延时一游戏刻,注意顺序要正确。
趣味玩法与变种
一旦这个指令链开始运行,你会发现村民像饿了几百年一样疯狂追逐附近的僵尸,因为僵尸会主动靠近村民,而村民一旦触发检测就会瞬间秒杀僵尸并回血,看起来就像村民主动把僵尸拽过来吃掉,如果配合命名牌给僵尸起名叫“牛排”或者“烤鸡肉”,喜剧效果直接拉满,你还可以把命令方块藏在村民的床下面,然后引一群僵尸进去,看着村民一个个把它们啃掉,甚至不需要玩家动手,这时候你可以坐在旁边喝杯茶,观察村民的“自助餐”,另外有一种进阶玩法是让村民吃掉僵尸后掉落绿宝石或者腐肉,只需在杀死僵尸的同时用“/loot spawn ~ ~ ~ loot minecraft:chests/village_temple”之类的指令生成战利品,但要注意平衡性,否则村民会变成刷绿宝石的机器,破坏游戏体验。
注意事项与陷阱
这个指令虽然好玩,但有几个坑你必须小心,第一个是范围问题,distance=..2表示两格以内,如果僵尸被卡在墙里而村民在另一侧,检测会失败,所以最好把村民和僵尸放在一个开放空间里,第二个是性能负担,如果场上同时有几十个村民和几十个僵尸,每个游戏刻都在执行实体检测和指令,服务器可能会卡顿,建议用记分板限制同时触发的数量,第三个是村民的AI冲突,当村民被打了“eating”标签后,它可能会停止逃跑并站在原地,导致被其他僵尸攻击,所以最好给村民一个抗性提升效果或者用铁傀儡保护它们,最后一个大坑是如果你用了“/kill”指令,被杀死的僵尸不会掉落任何物品经验,除非你先用“/data merge entity @e[type=minecraft:zombie,distance=..2,tag=!eating] {}”之类的方式修改掉落表,但那就更复杂了,对于普通玩家来说,直接靠这个玩个乐呵就好,不用追求完美。
玩家社群中的演变
其实这个指令最早出现在一个叫“僵尸末日”的模组服里,后来被红石玩家拆解成纯指令版本,很多服务器甚至会把它做成一个小游戏,比谁的村民“吃”得更多更快,我在一个国外论坛上见过有人把村民打扮成厨师帽的样子,然后给僵尸刷成各种颜色,模拟成不同口味的料理,甚至还有玩家利用这个指令实现了自动刷经验机,因为村民在回血时如果刚好被僵尸攻击,会反复触发治疗效果达到无限刷经验的目的,但那个属于bug,不过官方一直没有修复,也算是个遗留特性了。
最后说一句,这个指令组合本质上就是一个娱乐向的恶作剧,别指望它能在生存模式里帮你对抗僵尸潮,但也正因为这种无厘头的创意,才让我的世界这款游戏永远充满惊喜,当你看到村民真的张开双臂把僵尸吞下去的那一刻,你会觉得花半天时间搭这个命令方块链完全值得。
相关文章